﻿#include "FITKPHengLEIViscousType.h"
#include "FITK_Kernel/FITKEasyParam/FITKParameter.h"
#include "FITK_Kernel/FITKEasyParam/FITKParamCombox.h"
#include "FITKPHengLEIAbsSolver.h"

namespace Interface
{
	FITKPHengLEIViscousType::FITKPHengLEIViscousType()
	{
		//初始化
		_viscousTypeParams = new Core::FITKParameter;
	}

	FITKPHengLEIViscousType::~FITKPHengLEIViscousType()
	{
		//销毁数据
		if (_viscousTypeParams) delete _viscousTypeParams;
	}

	Core::FITKParameter* FITKPHengLEIViscousType::getViscousTypeParams()
	{
		//获取粘性模型参数
		return _viscousTypeParams;
	}


	void FITKPHengLEIViscousType::init()
	{
		//初始化
		this->initViscousTypeParam();
	}

	void FITKPHengLEIViscousType::initViscousTypeParam()
	{
		//初始化粘性类型参数
	}

	Euler::Euler()
	{
		//初始化
		this->init();
		this->setDataObjectName("Euler");
	}

	void Euler::initViscousTypeParam()
	{

	}

	Laminar::Laminar()
	{
		//初始化
		this->init();
		this->setDataObjectName("Laminar");
	}

	void Laminar::initViscousTypeParam()
	{

	}

}

namespace Interface
{
	Turbulent1eq::Turbulent1eq()
    {
        //初始化
        this->init();
        this->setDataObjectName("Turbulent1eq");
    }


    void Turbulent1eq::initViscousTypeParam()
    {
		QStringList turbulentModel = {"1eq-sa"};
		_viscousTypeParams->createComboxParameter("1eq turbulent model", turbulentModel, 0);
    }
}

namespace Interface
{
	Turbulent2eq::Turbulent2eq()
	{
		//初始化
		this->init();
		this->setDataObjectName("Turbulent2eq");
	}


	void Turbulent2eq::initViscousTypeParam()
	{
		QStringList turbulentModel = { "2eq-kw-menter-sst","2eq-kw-menter-bsl","2eq-kw-wilcox-1988","2eq-kw-wilcox-1998","2eq-kw-kok-tnt","2eq-kw-wilcox-2006"};
		_viscousTypeParams->createComboxParameter("2eq turbulent model", turbulentModel, 0);
	}
}


